package com.ssm.user.designPattern.filterPattern;

import java.util.ArrayList;
import java.util.List;

/**
 * 具体过滤器角色（ConcreteFilter）：该角色负责具体筛选规则的逻辑实现，最后再返回一个过滤后的数据集合，
 * 标准的过滤器只对数据做过滤，当然也可以对集合中的数据做某项处理，再将处理后的集合返回；
 */
public class MaritalTypeFilter implements Filter{
    private MaritalTypeEnum maritalTypeEnum;

    public MaritalTypeFilter(MaritalTypeEnum maritalTypeEnum) {
        // 在构造方法时指定婚姻
        this.maritalTypeEnum = maritalTypeEnum;
    }
    @Override
    public List<People> doFilter(List<People> peopleList) {
        List<People> result = new ArrayList<>();
        for (People people : peopleList) {
            if (this.maritalTypeEnum.equals(people.getMaritalTypeEnum())) {
                result.add(people);
            }
        }
        return result;
    }
}
